查看原文
其他

嵌入式大杂烩文章精选

ZhengN 嵌入式大杂烩 2022-09-10

本篇文章汇总帖有一些是本人的总结笔记,有一些是本人觉得比较好的比较容易吸收的转载文章,还有一些资料分享等。统一归类到这里,一来方便我自己查看,因为有些知识一旦很长时间不用,会很容易忘掉了。做一些简单的记录,以便日后查看。二来也希望这些文章能给一些朋友提供帮助。


本篇汇总笔记持续更新,欢迎持续关注。知识在于积累,技术在于沉淀。让我们共同积累嵌入式大杂烩知识,共同进步!


我的博客:https://blog.csdn.net/zhengnianli,微信不支持外链,可复制至浏览器进行打开,公众号的一些内容也会同步至我的博客中,欢迎来访。


我的微信:li1459193463,欢迎添加我为好友,添加并回复【嵌入式书籍】,可获取我精心整理的几十本嵌入式必读书籍。


本贴主要对本公众号的一些文章进行详细地汇总归类,给大家一个更好的阅读体验。文章比较多,有些还没分类,暂时放在嵌入式大杂烩一栏。


本汇总帖长期更新,公众号后台回复 m 即可看到最新的汇总。

本汇总帖长期更新,公众号后台回复 m 即可看到最新的汇总。

本汇总帖长期更新,公众号后台回复 m 即可看到最新的汇总。


平时来不及看文的小伙伴可以时不时回复 m 查看最近更新的文章:

最近更新

《芯片短缺,如何快速上手并替换一款MCU》

《分享一位嵌入式前辈的高效学习法》

《干货 | 分享一种串口高效收发思路及方案》

《嵌入式方案设计文档该怎么写?》

《嵌入式开发输出调试信息的几种方法》

《一文弄清字节对齐的那些疑惑》


STM32

【STM32】在SRAM、FLASH中调试代码的方法

【STM32】一种实用的测量程序运行时间的方法

【STM32】替代串口打印,另一种打印调试方法

【STM32】ISP下载的原理是什么呢?

【STM32】串口IAP分享

【STM32】串口打印知多少?

STM32】复用时钟何时开启呢?

【STM32】STM32F429的USB是个坑?

【STM32】内部FLASH读写操作详解(附代码)

【STM32】串口空闲中断接收不定长数据

【STM32】串口中断的4种接收数据的实现方式

【STM32】启动过程--启动文件--分析

【STM32】两种printf函数重定向方法

【STM32】数据手册中的那些重要内容

【STM32】map文件学习

【STM32】hex文件、bin文件、axf文件的区别

【STM32】两块STM32之间的SPI主从通信实例

STM32】硬件SPI主从通信(附代码)

【STM32】普通灯泡调光控制器

RT-Thread

【RT-Thread】BH1750软件包的使用

【RT-Thread】OneNET软件包的使用

【RT-Thread】智慧路灯案例实验分享

【RT-Thread】UART设备驱动框架

【RT-Thread】对象容器与双链表

【RT-Thread】对FLASH进行分区管理

【RT-Thread】内核对象模型

【RT-Thread】IO设备模型及PIN设备

【RT-Thread】PIN设备中断实验

【RT-Thread】线程的基本知识

【RT-Thread】内核基础

【RT-Thread】临界区问题及IPC机制

【RT-Thread】裸机系统与多线程系统

【RT-Thread】启动问题

RT-Thread】在  Nano 上添加控制台与 FinSH

C语言基础

【C语言】几个非常实用的宏技巧

【C语言】动态、静态链接

【C语言】动态、静态链接(二)

【C语言】经典、易错的结构体内存对齐的问题

【C语言】认识认识#pragma、#error指令

【C语言】什么是不完全类型?

【C语言】内存总结

【C语言】关于数组的一个陷阱!

【C语言】你知道C语言编译的过程吗?

【C语言】指定初始化器

【C语言】操作位的技巧

【C语言】位域

【C语言】经典:交换a、b值较好的方法?

【C语言】C基础、经典:字符串逆序

【C语言】干货 | 函数宏的三种封装方式

【C语言】C语言高效编程与代码优化

【C语言】assert()怎么用?

【C语言】#运算符与##运算符

【C语言】学习使用带参宏(一)

【C语言】学习使用带参宏(二)

【C语言】#define的高级用法

【C语言】联合体怎么用?

【C语言】结构体

【C语言】枚举

【C语言】整数溢出

【C语言】你的黑窗口闪退?

【C语言】测试程序模板

【C语言】如何查看数据类型范围?

【C语言】什么是ANSI C标准?

【C语言】ASCII码可见、不可见字符

【C语言】变参函数

【C语言】关于随机数的总结

【C语言】时间日期函数

【C语言】函数指针作为函数的参数

【C语言】函数指针作为结构体成员

【C语言】指针函数与函数指针?

【C语言】数组与指针不等价

【C语言】关于有符号数与无符号数

【C语言】数组问题:a与&a有何不同?

【C语言】static有几种用法?

【C语言】二维数组作为函数参数?

【C语言】关于数组与指针的总结

【C语言】C语言指针变量的运算

【C语言】C语言结构体内存对齐问题

【C语言】指针的基本概念

【C语言】C语言变量默认的初值是?

【C语言】来看一看volatile关键字

【C语言】你应该用复合赋值语句?

【C语言】char *str与char str[]的区别

【C语言】extern怎么用?

【C语言】getchar、getch的区别?

【C语言】#define与typedef的区别?

【C语言】函数参数压栈的顺序是?

【C语言】关于main()函数的问题

【C语言】Windows命令行编译C程序

《C语言代码优化的一些技巧(一)》

《C语言代码优化的一些技巧(二)》

《C语言代码优化的一些技巧(三)》

《C语言代码优化的一些技巧(四)》

《C语言对象编程第一弹:封装与抽象

《C语言对象编程第二弹:继承》

经典问题:return不可返回指向栈内存的指针!

NULL,0,'\0',“0”,"\0"你真的分得清吗?

高级指针话题-函数指针

把notepad++配置成一个能编译C代码的记事本

《一道简单但易错的C语言面试题

《C语言入坑指南-被遗忘的初始化

《sizeof你真的弄明白了吗?来看看这个例子

《a是一个数组,&a是什么?&a+1的值又是什么?

《什么是编译器、集成开发环境?一文讲明白

C语言const 关键字

为什么Linux内核里大量使用goto,而很多书籍却不提倡使用?

《void*到底是怎样的存在?

C语言结构体用法很多,坑也很多

《面试题:C语言验证大小端的几个方法》

《遇到指针别害怕!先把这篇笔记看一遍》

《C语言,字符串指针做函数参数》

《指针和数组有何联系及区别?》

【资源】C语言经典示例

《干货 | C语言头文件组织与包含原则》

《宏##粘贴函数的使用》

《C语言精华知识:表驱动法编程实践》

《C语言设计模式--状态模式(状态机)》

《C语言设计模式--简单工厂模式》

《C语言:防止缓冲区溢出》

《ANSI是什么编码?》

《C语言函数指针之回调函数》

《函数指针,指针函数,函数指针数组》

《C语言内存泄露很严重,如何应对?》

《段错误产生的原因~》

Linux/嵌入式Linux

【Linux】嵌入式Linux驱动基础

【Linux】LED驱动程序

【Linux】软件分层、分离、抽象思想

【Linux】挂载网络文件系统

【Linux】pc机_开发板_ubuntu互ping实验

【Linux】总线设备驱动模型

【Linux】LED驱动实验(总线设备驱动模型)

【Linux】设备树基础知识

【Linux】设备树实例分析

【Linux】Pinctrl子系统与GPIO子系统

【Linux】应用开发基础

【Linux】简单认识认识mqtt及mosquitto

【Linux】mqtt应用于进程间通信

【Linux】GDB调试器原来那么简单

【Linux】你的设备CPU温度是多少,能烤肉吗?

【Linux】文件系统有很多,但这几个最为重要

【Linux】往proc中留下一个脚印

【Linux】Linux下编译成功,Windows下不成功?

【Linux】面试官:Linux下如何编译C程序?

【Linux】如何同时输出调试信息到终端及文件?

【Linux】如何查看Linux命令工具的源码?

【Linux】一个不该被遗忘的打印输出函数

【Linux】文件及目录管理命令

【Linux】文本文件查看命令

【Linux】文件的权限

【Linux】系统目录结构

【Linux】Vi/Vim编辑器

【Linux】Linux下编译C程序

【Linux】make工程管理工具(一)

【Linux】make工程管理工具(二)

【Linux】Windows与Linux文件互传

【Linux】Linux内核概述

《从单片机工程师的角度看嵌入式Linux》

《我的单片机转嵌入式Linux之路》

《笔记:编写简单的内核模块

《Linux文件系统及文件缓存知识点》

《嵌入式Linux项目开发的几个步骤》

《Linux 内核如何描述一个进程?》

《从串口驱动到Linux驱动模型》

《什么是Linux内核空间与用户空间?》

《万事开头难 - 介绍IMX6ULL启动方式》

《Makefile、Kconfig和.config文件有什么关联》

《三个简单实用的编译小技巧》

《嵌入式 Linux下永久生效环境变量bashrc》

《Linux 的启动流程》

嵌入式C语言

《干货 | 结构体、联合体嵌套使用的一些实用操作》

《C语言、嵌入式中几个非常实用的宏技巧》

《C语言、嵌入式应用:TCP通信实例分析》

C语言、嵌入式位操作精华技巧大汇总

《C语言、嵌入式重点知识:回调函数》

《嵌入式C编程之错误处理》

《嵌入式开发中常见的3个C语言技巧》

《extern "C"的用法解析》

《干货 | 深度剖析C语言的main函数》

《C语言实现MD5加密(附代码)》

《C语言模拟实现字符串操作函数》

编写优质嵌入式C程序(一)

编写优质嵌入式C程序(二)

嵌入式软件工程师经典面试题(一)

嵌入式软件工程师经典面试题(二)

软件设计

《你的单片机裸机程序框架是怎样的?》

《单片机的状态机框架》

《C 语言对象化设计实例 —— 命令解析器》

《一个值得学习的LCD驱动框架》

《C语言实现状态机》

《嵌入式系统软件架构设计》

GUI

【LVGL】最新版本在STM32上的移植使用

【LVGL】基于framebuffer的lvgl的移植使用

【LVGL】基于vs2019的lvgl模拟器使用

【LVGL】 GUI-Guider的使用分享

【LVGL】QT Creator平台运行LVGL模拟器

【GUILite】基于GUILite的简易万年历

【LingLongGUI】一款很好上手的GUI

《了解一下AWTK这款GUI系统

《盘点嵌入式常见的GUI:emWin、TouchGFX等

《AWTK Designer快速使用指南》

开源软件

《Protobuf:一种更小、更快、更高效的协议》

《干货 | protobuf-c之嵌入式平台使用》

《例说嵌入式实用知识之JSON数据》

《实用 | 分享几个非常实用的开源项目》

《手把手教你在Windows下编译、使用开源库》

ARM MCU错误代码自动追踪库的使用经验分享

《实用 | 一个高性能通信库的简单使用分享》

【开源】省资源、高稳定的MQTT客户端

开源项目SmartTimer

分享一个简单易用的软件定时器模块

《分享一个超迷你的 web server》

《分享一个有趣的图形库库》

《各种开源协议,做软件的都可以学习下》

《SFUD | 帮你轻松搞定SPI Flash

【TencentOS tiny】又有一个操作系统开源

《bug解决不了?使用日志法》

《分享GitHub上一些嵌入式相关的高星开源项目》

完全由C编写,高度可移植的菜单架构!

实战篇

《基于LiteOS的智慧农业案例实验分享》

省电子设计竞赛一等奖作品分享(一)

省电子设计竞赛一等奖作品分享(二)

省电子设计竞赛一等奖作品分享(三)

省电子设计竞赛一等奖作品分享(四)

智能桌面天气预报系统(一)

智能桌面天气预报系统(二)

智能桌面天气预报系统(三)

智能桌面天气预报系统(四)

智能桌面天气预报系统(终)

【实践】显示板开发

项目分享| STM32打造“云”音乐播放器

网络编程相关

【计算机网络】TCP、UDP通信总结

【计算机网络】基于C语言的天气客户端的实现

【计算机网络】 基于Linux、C、JSON的编程实例

《wireshark抓包工具的使用及分析》

《AT指令测试ESP8266通信模组》

《网络调试助手的简单使用》

《五分钟读懂TCP 协议》

《干货 | TCP/IP的十个问题》

嵌入式大杂烩

《干货 | 嵌入式必备技能之Git的使用》

《自定义协议的这些典型例子你会了吗?》

《一文带你认识FPGA~》

《面试官:Linux下如何编译C程序?》

《小熊派4G开发板初体验》

《基于4G Cat.1的内网穿透实践》

《移远4G模组拨号+socket获取天气数据》

【DSP笔记】切换RAM、FLASH工程版本的方法

【DSP笔记】下载程序遇到的问题

【知识点】什么是大小端模式?

【知识点】什么是通讯?

【知识点】什么是可重入函数?

【知识点】JSON的简单认识

【知识点】一个超轻量级的JSON解析器

【知识点】什么是ARM?

【知识点】电磁干扰EMI与去耦电容

【知识点】gcc、arm-linux-gcc和arm-elf-gcc?

【知识点】RAM知识,搞明白了吗?

《物尽其用,分享一个很棒的工具》

《一个严谨的STM32串口DMA发送&接收机制》

《一些常用的工具函数(附C代码)

《一个程序模板,用于收集C语言知识点》

《局部变量、 全局变量、 堆、 堆栈、 静态

《常见的几种AD滤波算法(附代码)

《STM32 | 无感FOC方案原理机器控制难点分析

同步电机是如何达到同步的?工作原理是什么?

《Linux利器:QEMU!》

《一种Cortex-M内核中的精确延时方法》

《ARM-Linux开发与MCU开发有何不同?》

《一些函数、变量命名法及代码规范》

《STM32系统中2种数据掉电保护的方法》

《stm32cubeMX学习、USB DFU固件更新》

《基于STM32分析栈、堆、全局区、常量区》

《RT-Thread Studio 项目实战 | mini网络时钟》

《嵌入式程序员的编程修养》

《STM32也能玩高大上:实现目标分类》

《一些操作系统的概念》

《如何使用Arduino IDE玩转STM32》

《小熊派开箱记录》

《单片机常用程序框架之分时轮询》

《平衡小车PID,就该这么调!!!》

《ARM到底是冯诺依曼结构还是哈佛结构》

《零基础入门Git&Github》

《物联网IoT终端设备如何选择接入协议》

《RTOS中的任务是线程?进程?还是协程?》

《函数return,有些地方你可能还没掌握》

《ESP8266两种工作模式数据传输测试》

《物联网通信协议全解析》

《FreeRTOS的入门材料》

《嵌入式四大通信接口的神解释》

《动态内存分配时需要注意哪些坑?》

《在SMT32程序HEX文件中加入固件版本信息》

《访问 GitHub 的速度很慢?试试这几种方法》

《什么是状态机?》

《嵌入式,真的不需要单元测试?》

《FreeRTOS如何减少RAM占用空间》

《热门问题:C++在嵌入式中表现如何?》

《记一个OLED编程中文显示函数的坑》

《干货 | 把编译时间加入到目标文件》

《看看µC/OS代码规范》

《CRC校验原来这么简单》

《例说 I2C 通信》

《鸿蒙及那些精品嵌入式资源》

《有哪些工具可以让嵌入式开发事半功倍?》

《实例分析如何远离漫天飞舞的全局变量》

《CPU中的程序是怎么运行起来的》

《一文搞懂ADC裸机和基于Linux驱动编写方法》

《联合体用的多吗?》

《gdb调试段错误》

《复位标志解析,对MCU的程序的健康更有把控》

《 一文了解SPI总线工作原理、优缺点和应用案例》

《STM32串口发送数据和接收数据方式总结》

《工具 | 手把手教你在VSCode中使用Git》

《三种常见嵌入式设备通信协议》

《 LCD屏RGB接口与MCU接口的区别?》

《数据校验及常用校验算法概述》

《分享一份软件详细设计说明书案例》

《盘点国内RISC-V内核MCU厂商(超全版)》

《干货 | 几个值得学习的C编程习惯》

《实用 | 获取单片机代码运行时间的方法》

《Git 工作原理不懂?看这篇》

《从编译器角度分析数组名和指针的区别》

《一篇爆款心灵鸡汤,送给迷茫的你》

《干货 | 嵌入式开发常见问题解决方法》

《Keil MDK利用 fromelf 实现axf 转 bin 的方法》

《实用 | GitHub上一位老外的嵌入式C编码规范》

《干货 | 嵌入式软件定时/超时机制程序设计》

《干货 | C语言实现面向对象编程(附代码)》

《长文 | 分享一篇万字嵌入式C语言知识大汇总》

《不按套路出牌,这么来写IIC驱动?》

《干货 | 如何写一个高效的串口接收程序?》

《每天都能见到的 extern "C" 并没有那么简单!》

《Linux设置动态库路径和环境变量》

《分享一篇很不错的CMake入门文章》

《Visual Studio 2019 +STM32实现串口通讯》

《实用 | 程序运行时,是怎么找到动态库的?》

《实践 | AP3216三合一整合型光感测器实验分享》

《简单工厂方法模式_C语言实现》

《标准化模块接口--统一消息》

《设计模式_工厂方法模式_C语言实现》

《分享一款嵌入式人必备绘图工具》

《基于EasyX写的一个小应用,源码拿走不谢》

《如何编写跨平台代码?这3种方法分享给你》

《QT | 详解Qt的几种开发方式》

《2021年有哪些值得学习的嵌入式技术》

《国产**32能100%兼容STM32?》

《看完这份驱动开发流程总结,我感觉我又会了》

《易懂 | Linux 的启动流程》

《工具 | 一个多功能串口数据可视化工具》

《Linux | 设备驱动统一模型详解》

《OTA | 设备OTA空中升级原理》

《代码对比工具,不止于beyond compare》

《如何使用J-Link的虚拟串口VCOM功能?》

《物联网开其实真的很简单,不信你看!》

《分享一些可以快速入门的嵌入式相关教程》

《如何利用Google的protobuf,来实现RPC框架》

《实用 | 使用Cmake快速生成visual studio工程》

《干货 | 映射表在嵌入式中的应用》

《学一学大家都关注的汽车电子行业C标准》

《干货 | 函数指针与软件设计》

《万字整理,肝翻Linux内存管理所有知识点》

《干货 | C语言变长数组的经典应用》

《动图 | 几十种传感器的动图分析》

《分享一个简单实用的IO输入输出框架》

《分享一个c语言单元测试框架》

《网上最好的printf? 移植和例程!》

《干货 | 浅析apt、deb背后的一些知识》

《STM32浮点运算单元FPU分析》

《分享一个超级好用的文本编辑器》

《推荐一个提高工作效率的方法》

《分享一个经典的结构体和联合体共用实例》

《干货 | 什么是处理器微架构、指令集?》

上位机

《易懂 | 手把手教你编写你的第一个上位机》

《嵌入式学长10min教你编写C#上位机

树莓派

《树莓派Pico的一些有趣的基本实验》

数据结构

【数据结构笔记】顺序表——静态分配

【数据结构笔记】顺序表——动态分配

【数据结构笔记】线性表

【数据结构笔记】单链表

【数据结构笔记】头插法与尾插法创建单链表

【数据结构笔记】双链表基本操作示例

【数据结构笔记】什么样的算法才是好的算法?

【数据结构笔记】栈,C语言实现

【数据结构笔记】队列,C语言实现

程序人生/经验类

《应届生求职的那些事》

《十年经验工程师为何被裁?》

《从单片机工程师的角度看嵌入式Linux》

《一名95后嵌入式软件工程师的成长之路》

《记我的我得一次裸辞

《是否要从单片机转嵌入式Linux?

《从大学生到职场人的思维认知升级补丁--番外篇》

《嵌入式之技术专精与广博的一些思考》

《一位大牛的单片机笔记

《嵌入式应用层开发要学习什么

《注重这些细节可以提高我们的编程水平

《模块化编程总结

到底什么是嵌入式?什么是单片机?

《一位Linux工程师给程序员的几点小建议

《学习嵌入式软件,C语言要掌握到什么程度?

《空间换时间,查表法的经典例子》

《一些不可不知的计算机网络基础》

实用工具、技巧、资源

《分享一个很酷的上位机软件

《分享一份超棒的LittlevGL GUI资料

《给变量取名很难?CODEIF神器了解一下》

分享一个超级强大的编程手册软件

分享几款简单易用的文本编辑器

《百度搜索怎么去广告?

《分享几个强大的网站(建议收藏)

提取代码中的关键信息生成技术文档

《教你写一个定时关机程序

《Windows下体验Linux环境

把notepad++配置成一个能编译C代码的记事本

《只需一条命令即可快速生成文件清单

《清理电脑垃圾

《分享一个很酷的技巧

《电脑如何查看已连接WiFi的密码?

《程序员的桌面,好酷!!

做个计算器

《这么好用的代码阅读器你装了吗?

《分享一个实用的小工具》

【工具篇】非常好用的在线工具

《实用工具 | Linux下分屏终端》

C语言小练习

C编程实践:贪吃蛇游戏

C编程实践:推箱子游戏

C编程实践:简单的通讯录

C语言每日一练(001)

C语言每日一练(002)

C语言每日一练(003)

C语言每日一练(004)

C语言每日一练(005)

C语言每日一练(006)

C语言每日一练(007)

C语言每日一练(008)

C语言每日一练(009)

C语言每日一练(010)

C语言每日一练(011)

C语言每日一练(012)

C语言每日一练(013)

C语言每日一练(014)

C语言每日一练(015)

C语言每日一练(016)



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存